package com.bestcem.xm.txtanls.dao.impl;//package com.bestcem.xm.txtanls.dao.impl;
//
//import com.bestcem.xm.txtanls.entity.mongo.Viewpoint;
//import com.bestcem.xm.txtanls.util.enums.ViewpointTypeEnum;
//import com.bestcem.xm.common.core.uitls.DateUtil;
//import com.mongodb.client.result.DeleteResult;
//import org.bson.types.ObjectId;
//import org.springframework.data.mongodb.core.MongoTemplate;
//import org.springframework.data.mongodb.core.query.Criteria;
//import org.springframework.data.mongodb.core.query.Query;
//import org.springframework.stereotype.Repository;
//
//import javax.annotation.Resource;
//import java.util.List;
//
//import static com.bestcem.xm.txtanls.util.CollectionName.TXTANLS_VIEWPOINT;
//import static com.bestcem.xm.txtanls.util.ColumnConstant.ViewPoint.*;
//import static org.apache.logging.log4j.util.Strings.EMPTY;
//
///**
// * @author liheng
// * @version v1.0
// * @date 2021/6/28 14:39
// */
//@Repository
//public class ViewpointDaoImpl{
//
//    @Resource
//    private MongoTemplate mongoTemplate;
//
//    /**
//     * 根据id和类型查询观点
//     * @param id  观点id
//     * @return Viewpoint 观点
//     * @author jy.zhao
//     * @date 2021/7/28 12:21
//     **/
//
//    public Viewpoint getById(String id) {
//        return mongoTemplate.findById(new ObjectId(id), Viewpoint.class);
//    }
//
//    /**
//     * 根据项目id查询观点列表
//     *
//     * @param projectId 项目id
//     * @return List<ViewpointEntity> 观点列表
//     * @author jy.zhao
//     * @date 2021/5/13 13:56
//     **/
//
//    public List<Viewpoint> listViewpoints(String projectId) {
//        Query query = new Query();
//        query.addCriteria(Criteria.where(ANLS_PROJECT_ID).is(new ObjectId(projectId)));
//        return mongoTemplate.find(query, Viewpoint.class, TXTANLS_VIEWPOINT);
//    }
//
//    /**
//     * 查询项目下所有的子观点
//     *
//     * @param projectId 项目id
//     * @return Project all children viewpoint
//     * @author gy.liu
//     * @date 2021/5/11 14:20
//     **/
//
//    public List<Viewpoint> findAllChildrenViewPoint(String projectId) {
//        Query query = new Query();
//        query.addCriteria(Criteria.where(ANLS_PROJECT_ID).is(new ObjectId(projectId)));
//        query.addCriteria(Criteria.where(TTYPE).is(ViewpointTypeEnum.CHILDREN.getIndex()));
//        return mongoTemplate.find(query, Viewpoint.class, TXTANLS_VIEWPOINT);
//    }
//
//    /**
//     * 插入父观点
//     *
//     * @param viewContent 观点翻译内容
//     * @param projectId   文本分析项目id
//     * @param industryId  行业id
//     * @return Created parent viewpoint
//     * @author XiaoYunSong <ys.xiao@idiaoyan.cn>
//     * @date 2021/5/12 18:07
//     */
//
//    public Viewpoint insertParentViewpoint(String viewContent, String projectId, String industryId) {
//        Viewpoint entity = new Viewpoint();
//        entity.setViewContent(viewContent);
//        entity.setRowContent(EMPTY);
//        entity.setProjectId(projectId);
//        entity.setParentViewsId(EMPTY);
//        entity.setIndustryId(industryId);
//        entity.setType(ViewpointTypeEnum.PARENT.getIndex());
//        entity.setCreatedDate(DateUtil.getMongoDate());
//        entity.setUpdatedDate(DateUtil.getMongoDate());
//        return mongoTemplate.insert(entity, TXTANLS_VIEWPOINT);
//    }
//
//    /**
//     * 插入子观点
//     *
//     * @param viewContent 观点翻译内容
//     * @param rowContent  观点源内容
//     * @param projectId   文本分析项目id
//     * @param parentId    父观点id
//     * @param industryId  行业id
//     * @return Created parent viewpoint
//     * @author XiaoYunSong <ys.xiao@idiaoyan.cn>
//     * @date 2021/5/12 18:07
//     */
//
//    public Viewpoint insertChildrenViewpoint(String viewContent, String rowContent, String projectId, String parentId, String industryId) {
//        Viewpoint entity = new Viewpoint();
//        entity.setViewContent(viewContent);
//        entity.setRowContent(rowContent);
//        entity.setProjectId(projectId);
//        entity.setParentViewsId(parentId);
//        entity.setIndustryId(industryId);
//        entity.setType(ViewpointTypeEnum.CHILDREN.getIndex());
//        entity.setCreatedDate(DateUtil.getMongoDate());
//        entity.setUpdatedDate(DateUtil.getMongoDate());
//        return mongoTemplate.insert(entity, TXTANLS_VIEWPOINT);
//    }
//
//    /**
//     * 删除分析项目下的全部观点
//     *
//     * @param projectId 项目id
//     * @return The result of a delete operation
//     * @author XiaoYunSong <ys.xiao@idiaoyan.cn>
//     * @date 2021/5/12 18:07
//     */
//
//    public DeleteResult deleteProjectAllViewpoint(String projectId) {
//        Query query = new Query();
//        query.addCriteria(Criteria.where(ANLS_PROJECT_ID).is(new ObjectId(projectId)));
//        return mongoTemplate.remove(query, TXTANLS_VIEWPOINT);
//    }
//}
